<?



Class Karabas
{
var $domain_url="http://arm.frontmanager.com.ua";
#var $domain_url="http://test.frontmanager.com.ua";    
var $__pid="aLxxqPoctjko0A2WV2GnRQ";
var $login="info_kas1";
var $password="info_kassa";
var $auth;
var $api_dead=false;

	function Karabas()
	{
		$out = $this->connect($this->domain_url.'/LoginCommand.cmd',"login=".$this->login."&password=".$this->password."&__pid=".$this->__pid);
		
		$arr=explode(",",$out);
		$arr1=explode(":",trim($arr[1]));
		
		$this->auth= substr(trim($arr1[1]),1,strlen($arr1[1])-3);
	
		#$result_xml=$this->connect($this->domain_url.'/GetPartnerEventsCommand.cmd',"__auth=".$this->auth."&__pid=".$this->__pid."&format=xml&OnlyPrintable=1");
		#."&from=".date('Ymd',strtotime("-1 months"))."&to=".date('Ymd',strtotime("+1 month"))
		#."&to=".date('Ymd',strtotime("+3 months")
		#print_r($this->parse_karabas_xml($result_xml));
		
		
	}
	function connect($url,$postdata)
	{
	
		if( $curl = curl_init() ) 
		{
		curl_setopt($curl, CURLOPT_URL, $url);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
		curl_setopt($curl, CURLOPT_POST, true);
		curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
		$out = curl_exec($curl);
		curl_close($curl);
		return $out;
		}
	}
        function get_event_stat($id)
        {
         //4 test
         # $id=150818292;
        // echo $this->domain_url."/GetEventStatusCommand.cmd?event=".$id."&__auth=".$this->auth."&__pid=".$this->__pid."&format=xml&OnlyPrintable=1&groupByZone=1";
        #$result_xml=$this->connect($this->domain_url."/GetEventStatuzzzCommand.cmd',"event=".$id."&__auth=".$this->auth."&__pid=".$this->__pid."&format=xml&OnlyPrintable=1&groupByZone=1");   
       $result_xml=$this->connect($this->domain_url.'/GetEventStatusCommand.cmd',"event=".$id."&__auth=".$this->auth."&__pid=".$this->__pid."&groupByZone=1");   
      
       //$result_xml=$this->connect($this->domain_url."/GetEventStatusCommand.cmd?event=".$id."&__auth=".$this->auth."&__pid=".$this->__pid."&format=xml&OnlyPrintable=1&groupByZone=1");   
     # $place_xml=$this->connect($this->domain_url.'/ClientInfo.cmd',"__auth=".$this->auth."&format=xml");
        if(strlen($result_xml)==0)
        {
            $this->api_dead=true;
            return false;
        }
        $xml=json_decode($result_xml);
		
         //$xml=$this->parse_xml($result_xml);
         #die("<hr>".$result_xml);
        # $place=$this->parse_xml($place_xml);
       # print_r($place->Events->item);
	  //foreach($xml->prices->item as $p)
        if(count($xml->prices)>0)
        {
        foreach($xml->prices as $p)
            {
            if((int)$p->free>0)
                {
                $result[(int)$p->price]['free']=(int)$p->free;
                $result[(int)$p->price]['zonename']=(string)$p->zoneName;
                }
            #print "price= ".$p->price."| free=".$p->free."<hr>";
            }
        }else{
            $result=false;
        }		
         return $result;
        }
       /*  function parse_xml($contents)
        {
            $contents=str_replace('<?xml version="1.0" encoding="utf-16"?>','<?xml version="1.0" encoding="utf-8"?>',$contents);
            if(strstr($contents,'<?xml'))return false;
           $xml=new SimpleXMLElement($contents);
          # print $contents." <hr>";
           return $xml;
        }*/
        function msg_api_dead()
        {
            return '<div class="error_msg">
                В связи с отсутствием ответа билетной системы, предоставляющей возможность дальнейшего бронирования и оплаты Вы можете :
- повторить попытку еще раз через некоторое время 
или
- воспользоваться бесплатной услугой "Заказать через оператора", который свяжется сам с Вами как только система будет готова к выполнению Заказа</div>';
        }
        function draw_event_stat($event,$result)
        {
          
          #  if(($result==false)&&($this->api_dead))return $this->msg_api_dead();
            $html='';
            #$html='<div class="ekvinf-header-row">Заказать билет он-лайн на концерт: <span class="ekvinf-mark">'.$event->title.'</span></div>';
            if($result)
            { 
             foreach($result as $price=>$o)
                {
                     #$last_num=substr($o['free'],strlen($o['free'])-1);
                    $html.='<table class="oneplaceticket"><tr><td> <div class="zonename">'.$o['zonename'].'</div> осталось <b>'.$o['free']."</b> билетов</td><td align=right>  ".$this->draw_buy_button($event->field_karabas_value)." <div class='oneplaceticket_price'>$price грн</div></td></tr></table>";
                }
            }else{
                $html.="<input type='button' class='provider_btn operatorbtn' value='Купить через Карабас' onclick='_gaq.push([\"_trackEvent\", \"buy_ticket\", \"way_of_buying\", \"karabas\"]);window.open(\"http://infopark.frontmanager.com.ua/PublicAPI/Tickets.aspx?__pid=aLxxqPoctjko0A2WV2GnRQ&__uid=oDFXEGRXKVkKCGH1xRvG7g&event=".$event->field_karabas_value."\");'><br>";
            }
        return '<div class="karabas_adv">'.$this->draw_buy_button0($event->field_karabas_value, '<div class=ticketsystem></div>').$html.'</div>';
        }
        function draw_buy_button($id)
        {
            $html='<a class="order_tickets_but" href="http://infopark.frontmanager.com.ua/PublicAPI/Tickets.aspx?__pid=aLxxqPoctjko0A2WV2GnRQ&__uid=oDFXEGRXKVkKCGH1xRvG7g&event='.$id.'" target="_blank" onclick="_gaq.push([\'_trackEvent\', \'buy_ticket\', \'way_of_buying\', \'karabas\']);">Купить билет</a>';
            return $html;
        }
       function draw_buy_button0($id,$staff)
        {
            $html='<a class="" href="http://infopark.frontmanager.com.ua/PublicAPI/Tickets.aspx?__pid=aLxxqPoctjko0A2WV2GnRQ&__uid=oDFXEGRXKVkKCGH1xRvG7g&event='.$id.'" target="_blank" onclick="_gaq.push([\'_trackEvent\', \'buy_ticket\', \'way_of_buying\', \'karabas\']);">'.$staff.'</a>';
            return $html;
        }
        
}
/*usage
$karabas=new Karabas;
$result=$karabas->get_event_stat(137840952);
print_r($result);
die("done<hr>");*/
?>